3.7 运算符
在编程中,运算符用于执行数学或逻辑运算,如加、减、乘、除、大于、小于、大于等于等,它们可以对数字、字符串、布尔值等数据类型进行运算操作。
Go语言中包含如下几类运算符:
- 算术运算符
- 关系运算符
- 逻辑运算符
- 位运算符
- 赋值运算符
- 其他运算符
在本节中,我们仅针对算数运算符、关系运算符、逻辑运算符进行讲解。
首先我们在YouCanGoCode目录下新建一个目录,命名为lesson4,新建一个go文件,命名为 lesson4.go。
算数运算符
| 运算符 | 说明 | 例(A = 100, B = 10) |
|---|---|---|
| + | 相加 | A + B = 110 |
| - | 相减 | A - B = 90 |
| * | 相乘 | A * B = 1000 |
| / | 相除 | A / B = 10 |
| % | 求余 | A % B = 0 |
| ++ | 加1 | A ++ 后 A = 101 |
| -- | 减2 | B -- 后 B = 9 |
在lesson4.go文件中输入如下代码进行算数运算。
package main
import "fmt"
func main() {
var A int = 100
var B int = 10
fmt.Printf("A + B = %d\n", A+B)
fmt.Printf("A - B = %d\n", A-B)
fmt.Printf("A * B = %d\n", A*B)
fmt.Printf("A / B = %d\n", A/B)
fmt.Printf("A 与 B 求余 = %d\n", A%B)
A--
fmt.Printf("A++ 结果为 %d\n", A)
B--
fmt.Printf("B-- 结果为 %d\n", B)
}
执行lesson4.go输出如下:
A + B = 110
A - B = 90
A * B = 1000
A / B = 10
A 与 B 求余 = 0
A++ 结果为 99
B-- 结果为 9
关系运算符
| 运算符 | 说明 | 例(A = 100, B = 10) |
|---|---|---|
| == | 检查两个值是否相等,如果相等返回true否则返回false |
A == B 结果为 false |
| != | 检查两个值是否不相等,如果不相等返回true否则返回false |
A != B 结果为 true |
| > | 检查左边值是否大于右边值,如果是返回true否则返回false |
A > B 结果为 true |
| < | 检查左边值是否小于右边值,如果是返回true否则返回false |
A< B 结果为 false |
| >= | 检查左边值是否大于等于右边值,如果是返回true否则返回false |
A >= B 结果为 true |
| <= | 检查左边值是否小于等于右边值,如果是返回true否则返回false |
A <= B 结果为 false |
在lesson4.go文件中输入如下代码进行关系运算。
package main
import "fmt"
func main() {
var A int = 100
var B int = 10
fmt.Printf("A == B 结果为 %v\n", A == B)
fmt.Printf("A != B 结果为 %v\n", A == B)
fmt.Printf("A > B 结果为 %v\n", A == B)
fmt.Printf("A < B 结果为 %v\n", A == B)
fmt.Printf("A >= B 结果为 %v\n", A == B)
fmt.Printf("A <= B 结果为 %v\n", A == B)
}
执行lesson4.go输出如下:
A == B 结果为 false
A != B 结果为 false
A > B 结果为 false
A < B 结果为 false
A >= B 结果为 false
A <= B 结果为 false
逻辑运算符
| 运算符 | 说明 | 例(C = true, D = true) | ||||
|---|---|---|---|---|---|---|
&& |
如果两边都是true,返回true,否则返回false |
C && D 结果为 true |
||||
| ` | ` | 只需要一边为true,返回true,否则返回false |
`C | D`,结果为 true | ||
! |
如果右边为true,返回false,如果右边为false,则返回true |
!C 结果为 false |
在lesson4.go文件中输入如下代码进行关系运算。
package main
import "fmt"
func main() {
var C bool = true
var D bool = false
fmt.Printf("C && D 结果为 %v\n", C && D)
fmt.Printf("C || D 结果为 %v\n", C || D)
fmt.Printf("!C 结果为 %v\n", !C)
}
执行lesson4.go输出如下:
C && D 结果为 false
C || D 结果为 true
!C 结果为 false
在上面的代码中,我们使用fmt.Printf()函数进行了输出,并使用了格式化占位符%d和%v以接收数据,并使用换行符\n来进行输出换行。
在下一章节中,将详细介绍格式化占位符的用法。
小结
运算符就是用指定的符号对数据进行运算,是在实际项目开发中经常用到的基本工具。
我们可以通过参照示例进行练习,熟练掌握基础运算符,然后再逐步深入了解其他运算符的使用。